//用vant list组件实现的分页   需要什么数据 什么方法
//需要拿到
// 接口 查询数据的接口  和分页数据
//需要返回
// list数据列表
// onLoad方法  
// loading
// finished

import { ref, reactive } from 'vue'

export default function usePageList(api, data) {

    let apiData = reactive(data)//请求参数limit page

    let loading = ref(false) //加载状态

    let finished = ref(false) //是否全部数据加载完成

    let list = ref([]) //列表数据

    let onLoad = async () => {
        let res = await api(apiData)
        // console.log(res);
        loading.value = false
        if (res.data.list) {
            list.value.push(...res.data.list)
        }
        apiData.page++
        // 如果当前页面  大于     最大页码 
        if (apiData.page > Math.ceil(res.data.count / apiData.limit)) {
            // 以后就再也不会触发 onLoad  事件
            finished.value = true
        }
    }
    return {
        onLoad,
        loading,
        finished,
        list,//分页的数据
    }
}
